package com.yzf.demo.demo.Thread;

/**
 * Created by 于占峰 on 2020/3/30/030.
 * <p>
 * 使得线程暂停执行一段时间,知道等待的时间结束恢复执行或期间被中断
 * 1.挂起线程并修改其运行状态
 * <p>
 * 2.用sleep()提供的参数来设置一个定时器
 * <p>
 * 3.当时间结束,定时器会触发,内核收到中断后修改线程的运行状态(例如线程会被标志为就绪而进入就绪队列等待调度)
 * 使用Thread.sleep(0)  线程会告诉CPU在接下来的0毫秒内不参与线程的竞争,促使CPU重新分配线程.
 */
public class ThreadSleepDemo extends Thread {

    @Override
    public void run() {
        System.out.println("begin" + System.currentTimeMillis());
        try {
            Thread.sleep(300);//睡眠3秒 单位毫秒
            System.out.println("end" + System.currentTimeMillis());
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        new ThreadSleepDemo().start();
    }
}
